import axios from 'axios';

// 创建axios实例
const apiClient = axios.create({
  baseURL: 'http://115.190.33.252:8089/api',
  timeout: 10000,
  headers: {
    'Content-Type': 'application/json',
  }
});

// 封装请求方法
const apiService = {
  // 用户登录
  login(username) {
    return apiClient.post('/user/login', null, {
      params: { username }
    });
  },

  // 获取商品列表
  getProducts() {
    return apiClient.get('/products');
  },

  // 获取购物车列表
  getCart(userId) {
    return apiClient.get('/cart', {
      params: { userId }
    });
  },

  // 购物车下单
  purchaseProduct(productId, userId, quantity) {
    return apiClient.post(`/products/${productId}/purchase`, null, {
      params: { userId, quantity }
    });
  },

  // 加入购物车
  addToCart(productId, userId, quantity) {
    return apiClient.post('/cart/add', {
      productId,
      userId,
      quantity
    });
  },

  // 订单支付
  payOrder(orderNo) {
    return apiClient.post(`/orders/${orderNo}/pay`);
  },

  // 取消支付
  cancelOrder(orderNo) {
    return apiClient.post(`/orders/${orderNo}/cancel`);
  },

  // 商品预热
  preloadProducts() {
    return apiClient.post('/products/preload');
  },

  // 获取订单列表
  getUserOrders(userId) {
    return apiClient.get(`/orders/user/${userId}`);
  },

  // 更新购物车
  updateCart(userId, productId, quantity) {
    return apiClient.put('/cart/update', null, {
      params: { userId, productId, quantity }
    });
  }
};

export default apiService;